'''
Created on 2010-2-10

@author: summit
'''
from AbstractMethod import *

class Object(object):
    '''
    a common base class, the Object class is an abstract class that
    extends the __builtin__.object class
    '''


    def __init__(self):
        '''
        Constructor
        '''
        super(Object, self).__init__()
    
    def __cmp__(self, obj):
        if isinstance(self, obj.__class__):
            return self._compareTo(obj)
        elif isinstance(obj, self.__class__):
            return -obj._compareTo(self)
        else:
            return cmp(self.__class__.__name__, obj.__class__.__name__)
    
    def _compareTo(self, obj):
        pass
    
    _compareTo = AbstractMethod(_compareTo)
    
    #...